1. Field of the Invention
This invention relates generally to data transmission systems, and more particularly, to a system of propagating data in a signal stream over plural sample-rate domains.
2. Description of the Related Art
In many systems that process signals (audio, radio, video), it is necessary to pass signal streams from one sample-rate domain to another, i.e., where the sample clock time bases of the two domains are independent. The audio samples in the source domain stream should be converted to create new samples suitable for the destination domain. The algorithm that is used to do this is a sample-rate converter (SRC). There are essentially two approaches to the problems associated with propagation of data between domains that have independent sampling time bases, which generally can be designated as “simple” and “full.”
It is to be noted that in the practice of the invention, asynchronous conversion is addressed. Asynchronous conversion is needed when the source and destination sample-rates are not locked together, and synchronous conversion can be used when they are locked. The sample-rates are “locked” when both are derived from the same clock time base.
In a “simple” asynchronous sample-rate converter, samples in the stream are adaptively repeated or deleted as needed to match the sample production rate from the source to the sample consumption rate at the destination. This approach has the problem that significant distortion is caused as a result of instantaneous phase jumps in the asynchronous sample-rate converter output. Unless the source and destination sampling rates are very close, the distortion will be very high. The “full” asynchronous sample-rate converter re-calculates all samples using various methods of interpolation. This approach can provide low distortion, but requires a high computational load.
There is, therefore, a need for a sample-rate converter that exhibits reduced distortion, without requiring a high computational load.
In many systems, e.g., any streamed source such as Bluetooth Advanced Audio Distribution Profile (A2DP), which is a Bluetooth profile that allows for the wireless transmission of stereo audio from an A2DP source (typically a phone or computer) to an A2DP receiver (e.g., a set of Bluetooth headphones or stereo system), or in the realm of internet audio, complexity is increased by the fact that there is not present a physical source and/or destination clock signal. Designs for full asynchronous sample-rate converters require an instantaneous calculation of the ratio of the input sample-rate and the output sample-rate, or they require the addition of a mechanism to estimate a near-instantaneous ratio. Such mechanisms introduce the additional problems of diminished accuracy and an unacceptable settling time of the computed estimate.
There are known practical situations (e.g., Digital Audio Broadcasting (DAB), Bluetooth advanced audio distribution profile audio paths, and any Bluetooth Advanced Audio Distribution Profile path) where distortion performance is somewhere between that of the two aforementioned approaches, and therefore the use of a simple asynchronous sample-rate converter would be inadequate and a full asynchronous sample-rate converter would waste computational resources.
Particularly for hands-free telephone programs, there is a need for advanced audio distribution profile audio performance that has been ignored in the prior art. Such advanced audio distribution profile systems for automotive applications usually simply drop frames or add mutes to cover sample-rate differences, instead of using an asynchronous sample-rate converter. This approach causes undesired user-discernible audio artifacts, such as audio gaps, pops, and glitches.
There is, therefore, a need for a computationally efficient sample-rate converter that reduces undesired user-discernible audio artifacts. There is also a need for a sample-rate converter that can be used in systems where the source and/or destination sample clocks are not available.